import shutil
import pytest
import os
import sys
import io
from common.recordlog import logs
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')

if __name__ == '__main__':
    logs.info("开始执行代码")
    pytest.main([
        '-s', '-v',
        '--alluredir=./allure-results',
        './testcase',
        '--clean-alluredir',
        '--junitxml=./allure-report/junit-report.xml'  # 新增 JUnit XML 报告
    ])

    shutil.copy('./environment.xml', './allure-results')
    # 判断是否由jenkins执行 | "MY_VAR"：通过脚本临时设置jenkins的环境变量后，使用jenkins执行代码时，os.environ中会有名为"MY_VAR"的key
    # 若为jenkins执行代码，则不打开浏览器，否则会让jenkins任务卡住
    logs.info(os.environ)
    if "MY_VAR" in dict(os.environ).keys():
        os.system("allure generate allure-results -o allure-report --clean")
    # # # 若为手动执行代码，则通过浏览器自动打开测试报告页面
    else:
        os.system(f'allure serve allure-results')



